/* 
 * File:   zxLib.h
 * Author: Administrator
 *
 * Created on 2013?8?13?, ??9:24
 */

#ifndef ZXLIB_H
#define	ZXLIB_H

#ifdef	__cplusplus
extern "C" {
#endif

#ifdef	__cplusplus
}
#endif


#define laserFreq 50
#define durationPerLaserStim 5
#define entireLaserDuration 4
#define delayBeforeLaserDuration 0


#define lowThres 75
#define HighThres 80


extern float odorLength;
void setOdorLength(float in);


unsigned int getFuncNumber(int targetDigits, char* hint);
void shuffleArray(unsigned int orgArray[], unsigned int arraySize);
void LCDWriteString(char* s);

void test_odor_Advanced(int totalTrial);

void zxDNMSSessions(int thisdelay, int interti, int trialNumperSess, float waterlen, float delay2, int missstop, int totalSession);
void zxDNMSLaserSessions(int thisdelay, int interti, int trialNumperSess, float WaterLen, int missstop, int sessstop, float delay_before_reward, int delay1, int delay2);
void zxDNMS(int FirstOdorIn, float odorLength, int OdorDelayIn, int SecondOdorIn, float WaterLIn, int IntervalIn, float delay_before_reward) ;
void zxDNMSLaser(int FirstOdorIn, float odorLength, int OdorDelayIn, int SecondOdorIn, int SecOdorLen, float WaterLIn, int IntervalIn, int prolong, float delay_before_reward, int delay1, int delay2, int temptrial) ;
void zxLaser(int FreqStim, int DuraStim, int totalStimTime) ;

void zxGo_nogo_autoSwitch(int odorType, int trialn, int go_odor, int nogo_odor, int odorlen, int delay, float waterlen,
        int ITI, int odorlaseryes, int delaylaseryes, int waterlaseryes, int ITI1, int ITI2);

void zxGo(int go_odor, int nogo_odor, int odorlen, int delay, float waterlen,
        int ITI, int odorlaseryes, int delaylaseryes, int waterlaseryes, int ITI1, int ITI2);

void zxNogo(int go_odor, int nogo_odor, int odorlen, int delay, float waterlen,
        int ITI, int odorlaseryes, int delaylaseryes, int waterlaseryes, int ITI1, int ITI2);





#endif	/* ZXLIB_H */
